#ifndef _IN_SDK_INI_CONFIG_H_
#define _IN_SDK_INI_CONFIG_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#include <sys/time.h>
#include "libconfig.h"
#include "InCommon.h"

typedef enum
{
    BASIC_CFG_FLIP = 0,
    BASIC_CFG_IRCUT_REVERSE,
    BASIC_CFG_TIMEZONE_SEC,
    BASIC_CFG_MIC_DISABLE,
    BASIC_CFG_IRCUT,
    BASIC_CFG_SPK_VOL,
    BASIC_CFG_MIC_VOL,
    BASIC_CFG_SPK_GAIN,
    BASIC_CFG_MIC_GAIN,
    BASIC_CFG_LINK_LED,
    BASIC_CFG_WATCH_LED,
    BASIC_CFG_NIGHT_MODE,
    BASIC_CFG_NIGHT_MODE_SW,
    BASIC_CFG_MAX,
}EComBasicCfg;

typedef enum
{
    APP_CFG_SPK_VOLUME = 0,
    APP_CFG_MD_TIME_SWITCH,
    APP_CFG_ALARM_ZONE,
    APP_CFG_MOTION_TIME,
    APP_CFG_ALARM_ZONE_DRAW,
    APP_CFG_IPC_CONTRAST,
    APP_CFG_IPC_BRIGHT,
    APP_CFG_SLEEP_MODE,
    APP_CFG_ANTI_FLICKER,
}EnSdkAppCfg;

typedef struct
{
    int val;
    char *string;
}StSdkBasicCfgAll,*pStSdkBasicCfgAll;

Com_void Ext_InSdkBasicCfg_SetVal(EComBasicCfg dp,Com_s32 val);
Com_s32 Ext_InSdkBasicCfg_GetVal(EComBasicCfg dp);
Com_void Ext_InSdkBasicCfg_GetAll(Com_void);
Com_void Ext_InSdkAppCfg_SetInt(EnSdkAppCfg dp,Com_s32 val);
Com_s32 Ext_InSdkAppCfg_GetInt(EnSdkAppCfg dp);
Com_void Ext_InSdkAppCfg_SetStr(EnSdkAppCfg dp,Com_ps8 buf);
Com_void Ext_InSdkAppCfg_GetStr(EnSdkAppCfg dp,_OUT Com_ps8 buf);
Com_void Ext_InSdkIniCfg_LockInit(Com_void);
Com_void Ext_InSdkIniCfg_LockDestroy(Com_void);
Com_void Ext_InSdkIniCfg_Init(Com_void);

#ifdef __cplusplus
}
#endif

#endif
